Type Gaurds (1/1)
Explain the concept of 'type guards' in TypeScript.
    Type guards are conditions that allow you to narrow down the type of a variable within a certain scope. For example, using the `typeof` or `instanceof` operators. A type guard is a TypeScript technique used to get information about the type of a variable, usually within a conditional block. These are regular functions that return a boolean, taking a type and telling TypeScript if it can be narrowed down to something more specific. TypeScript uses some built-in JavaScript operators like typeof, instanceof, and the in operator, which is used to determine if an object contains a property.
    There are five major ways to use a type guard:
    • The instanceof keyword
    • The typeof keyword
    • The in keyword
    • Equality narrowing type guard
    • Custom type guard with predicate